了解了正規化表示法的規則之後,就讓我們來牛刀小試一下。之前大概介紹了 E-mail 的規則,這次就來看看如何用正規化表示法來表示 E-mail 位址的樣式。
再來複習一下合法 E-mail address 有哪些條件:
一、必要且唯一的 @ 符號左邊是收件人名稱;右邊是收件位址。
二、收件人名稱與收件位址可以是英文、數字、特定符號( . - _ ),長度不限制。
三、收件位址以 . 符號分欄位,最靠近 @ 符號的第一欄(主機名稱)可以是英文、數字、特定符號( . - );其餘欄位(主機位址)則限定只能是英文,合法欄位為 2 到 4 欄。
OK, 結合以上樣是規定,合法 E-mail address 的正規化表示法為:
[A-Z0-9._-]+@[A-Z0-9.-]+\.[A-Z]{2,4}
以下針對這個正規化表示由左至右再進一步解說:
怪了? 以前不知從哪邊抄來下面這種的, 你有驗證過你的是否OK嗎?
([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})
這是要ip/domain name通用?不過email用ip的應該不多吧...